﻿Imports SuporteService
Public Class frmCadastroChamado
    Inherits DevExpress.XtraEditors.XtraForm

    Private clienteService As New ClienteService
    Private chamadoService As New ChamadoService
    Private usuarioService As New UsuarioService
    Private lojaService As New LojaService
    Private sistemaSerice As New SistemaService



    Private Sub frmCadastroChamado_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim dataAtual As DateTime = DateTime.Now

        txtChamado.Text = chamadoService.UltimoChamado().Codigo + 1
        txtTecnicoAbertura.Text = usuarioService.UsuarioSessao().Nome

        cmbTipo.Items.Insert(0, "Problema")
        cmbTipo.Items.Insert(1, "Solicitação")
        cmbTipo.Items.Insert(2, "Duvida Técnica")
        cmbTipo.Items.Insert(3, "Duvida Sistema")
        cmbTipo.Items.Insert(4, "Contato Comercial")
        cmbTipo.Items.Insert(5, "Problema Versão")
        cmbTipo.SelectedIndex = 0

        Dim listaClientes As List(Of SuporteModel.Cliente) = clienteService.ListarClientes()
        cmbClientes.DataSource = listaClientes
        cmbClientes.DropDownStyle = ComboBoxStyle.DropDownList
        cmbClientes.DisplayMember = "Nome"
        cmbClientes.ValueMember = "Codigo"
        cmbClientes.Text = ""

        cmbLojas.DataSource = lojaService.ListarLojas()
        cmbLojas.DropDownStyle = ComboBoxStyle.DropDownList
        cmbLojas.DisplayMember = "Nome"
        cmbLojas.ValueMember = "Codigo"

        cmbSistema.DropDownStyle = ComboBoxStyle.DropDownList
        cmbSistema.DataSource = sistemaSerice.ListarSistema()
        cmbSistema.ValueMember = "IdSistema"
        cmbSistema.DisplayMember = "Nome"

        cmbTecnicoResponsavel.DropDownStyle = ComboBoxStyle.DropDownList
        cmbTecnicoResponsavel.DataSource = usuarioService.ListarTecnicos()
        cmbTecnicoResponsavel.DisplayMember = "Nome"
        cmbTecnicoResponsavel.ValueMember = "IdTecnico"

        cmbPrioridade.DropDownStyle = ComboBoxStyle.DropDownList
        cmbPrioridade.DataSource = System.Enum.GetValues(GetType(SuporteModel.EnumPrioridade))

        cmbTela.DropDownStyle = ComboBoxStyle.DropDownList
        cmbTela.DataSource = sistemaSerice.ListarTelas()
        cmbTela.DisplayMember = "NomeTela"
        cmbTela.ValueMember = "IdSistema"

        txtData.Text = dataAtual.Day.ToString("00") & "/" & dataAtual.Month.ToString("00") & "/" & dataAtual.Year
        txtHora.Text = dataAtual.Hour.ToString("00") & ":" & dataAtual.Minute.ToString("00")

    End Sub


    Private Sub SimpleButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SimpleButton1.Click
        Dim sChamado As New SuporteModel.Chamado
        sChamado.Codigo = chamadoService.UltimoChamado().Codigo + 1
        sChamado.ContatoOld = txtContato.Text
        sChamado.Cliente = New SuporteModel.Cliente
        sChamado.Cliente.Codigo = cmbClientes.SelectedValue
        sChamado.Loja = New SuporteModel.Loja
        sChamado.Loja.Codigo = cmbLojas.SelectedValue
        sChamado.Problema = txtProblema.Text
        sChamado.Solucao = txtSolucao.Text
        sChamado.Sistema = New SuporteModel.Sistema
        sChamado.Sistema.IdSistema = cmbSistema.SelectedValue
        sChamado.Tipo = cmbTipo.SelectedValue
        sChamado.TecnicoOld = New SuporteModel.Tecnico
        sChamado.TecnicoOld.IdTecnico = cmbTecnicoResponsavel.SelectedValue
        sChamado.Prioridade = cmbPrioridade.SelectedValue
        sChamado.DataCadastro = DateTime.Now
        sChamado.Versao = txtVersao.Text
        If chamadoService.CadastrarChamado(sChamado) Then
            MsgBox("Chamado Cadastrado com sucesso!")
            Me.Limpar()
        Else
            MsgBox("Erro ao cadastrar o Chamado.")
        End If
        chamadoService.TotalChamados()
    End Sub


    Private Sub Limpar()
        Me.txtProblema.Text = ""
        Me.txtSolucao.Text = ""
        Me.txtContato.Text = ""
    End Sub

End Class